import router from './router'
import store from '@/store'


// 全局前置路由守卫
//  to:  要去哪个页面
//  from:从哪里来
//  next:它是一个函数。
//     如果直接放行 next()
//     如果要跳到其它页 next('其他页面的路径')

const whiteList = ['/reg', '/login'] // 白名单

router.beforeEach((to, from, next) => {
	// 取出token(vuex)
	const token = store.state.token
	console.log('全局前置路由守卫', token)
	// 有token
	if (token) {
		// 去登录页
		if (to.path === '/login') {
			console.log('你已经登录了，就不能去login，转到主页')
			next('/')
			// 去其他页面
		} else {
			next()
		}
		// 没有token
	} else {
		// 没有登录，只能去白名单(那些不需要token就可以访问的页面)
		if (to.path === whiteList) {
			next()
			// 除了白名单以外的页面，必须要先登录
		} else {
			console.log('你没有登录，转到登录页')
			next('/login')
		}
		next() // 重点强调next一定要调用
	}
})
